﻿using System.Text;

namespace Project.Co_DataTransformationPrototype
{
    /// <summary>
    /// Base class for implemtation related to the state
    /// of a model element
    /// </summary>
    public abstract class StateBase
    {
        private EventContext eventInfo;
        public StateType stateType;

        public virtual EventContext EventContext
        {
            get { return eventInfo; }
            set { eventInfo = value; }
        }
        
        /// <summary>
        /// Handles the state change of a model element
        /// </summary>
        /// <param name="state"></param>
        /// <returns></returns>
        public abstract StateBase Handle(StateBase state);
    }
}
